<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>ClassAvailability Readme file</title>
</head>

<body>

<p align="center"><b><font size="5">ClassAvailability</font></b></p>
<p align="left">To participate in this project, you should first read this file.&nbsp;&nbsp; 
The file explains how to import the project into Eclipse and how each component 
of the project was created.&nbsp; For more information about this project, visit
<a href="http://code.google.com/p/classavailability/">
http://code.google.com/p/classavailability/</a></p>
<p align="left"><b><font size="4">1. System Requirements</font></b></p>
<ul>
  <li>
  <p align="left">Windows XP professional.&nbsp; Even though Java is cross-flat 
  form, this project will not work on other operating systems.&nbsp; Because 
  each operating system requires a specific version of Google Web Toolkit (GWT), 
  this project uses the GWT 1.3.3 for Windows XP Professional.</li>
  <li>
  <p align="left">Java JDK-1.6 and Java SE 6 Documentation.&nbsp; They can be 
  obtained at <a href="http://java.sun.com/javase/downloads/index.jsp">
  http://java.sun.com/javase/downloads/index.jsp</a></li>
  <li>
  <p align="left">GWT 1.3.3 is the Framework.&nbsp; It can be download at
  <a href="http://code.google.com/webtoolkit/download.html">
  http://code.google.com/webtoolkit/download.html</a></li>
  <li>
  <p align="left">Apache Tomcat 5.5.20.&nbsp; You don't have to have a web 
  server to work on this project.&nbsp; You can run the application in the 
  Hosted Mode with using a JVM on the computer.&nbsp; You only need the Apache 
  Tomcat webserver if you plan to deploy the project into a web application that 
  can be accessed from other computers using a web browser.&nbsp; The Apache 
  Tomcat 5.5.20 can be obtained at
  <a href="http://tomcat.apache.org/download-55.cgi#5.5.20">
  http://tomcat.apache.org/download-55.cgi#5.5.20</a></li>
  <li>
  <p align="left">Eclipse SDK 3.2.0 or later.&nbsp; You don't have to have 
  Eclipse IDE to work on the project.&nbsp; You can use you favorite text editor 
  to edit and write source codes and compile the project using the Ant tasks 
  provided in the project.&nbsp; However, it is recommended having Eclipse.&nbsp; 
  If you don't have Eclipse, you must have the Apache Tomcat 5.5.20 because you 
  can't run the project in Hosted Mode.&nbsp; The Hosted Mode lets you debug the 
  project as any debugging features provided by the IDE.&nbsp; Eclipse SDK can 
  be obtained at <a href="http://www.eclipse.org/downloads/">
  http://www.eclipse.org/downloads/</a></li>
  <li>
  <p align="left">Apache Ant 1.7.0.&nbsp; If you plan to run your project with 
  Eclipse, you don't have to have Ant.&nbsp; However, if you want to automate 
  your tasks, you should have Ant.&nbsp; Apache Ant can be obtain at
  <a href="http://ant.apache.org/">http://ant.apache.org/</a></li>
  <li>
  <p align="left">Quality Assurance tools:&nbsp; These tools are not required.&nbsp; 
  However, if you want to work on this project with us, you have to have these 
  tools.&nbsp; They help maintaining high quality Java source codes.<ul>
  <li>
  <p align="left">Checkstyle 4.2.&nbsp; Checkstyle is a development tool to help 
  programmer write Java code that adheres to a coding standard.&nbsp; For more 
  information, visit <a href="http://sourceforge.net/projects/checkstyle/">
  http://sourceforge.net/projects/checkstyle/</a></li>
  <li>
  <p align="left">Findbugs-1.0.0.&nbsp; Findbugs is a tool that looks for bugs 
  in Java code.&nbsp; For more information, visit
  <a href="http://sourceforge.net/project/showfiles.php?group_id=96405&package_id=103029">
  http://sourceforge.net/project/showfiles.php?group_id=96405&amp;package_id=103029</a></li>
  <li>
  <p align="left">PMD-3.7.&nbsp; PMD is a development tool that scans Java 
  source code and looks for potential problems.&nbsp; For more information, 
  visit <a href="http://sourceforge.net/projects/pmd/">
  http://sourceforge.net/projects/pmd/</a></li>
  <li>
  <p align="left">SCLC-2.4.525. SCLC counts the size of different types of 
  source code files, providing the number of comments, no-comments, blank, and 
  total lines.&nbsp; For more information, visit
  <a href="http://csdl.ics.hawaii.edu/Tools/SCLC/">
  http://csdl.ics.hawaii.edu/Tools/SCLC/</a></li>
  <li>
  <p align="left">Hackystat-7.5.924 or later.&nbsp; Hackystat is an open source 
  framework for automated collection and analysis of software engineering 
  process and product metrics. After installing the Hackystat, install the 
  checkstyle, findbugs, pmd, sclc, svn sensors.&nbsp; For information how to 
  install Hackystat and its sensors, visit&nbsp;
  <a href="http://www.hackystat.org/hackyDevSite/home.do">
  http://www.hackystat.org/hackyDevSite/home.do</a>&nbsp; </li>
</ul></li>
  <li>
  <p align="left">Any subversion client software.&nbsp; It is not required to 
  have subversion client software.&nbsp; However, if you want to keep track of 
  changes you have made to the project, I recommend having one.&nbsp; 
  TortoiseSVN is good one for Microsoft Windows operating system.</li>
</ul>
  <p align="left"><b><font size="4">2.&nbsp; Project Layout</font></b><ul>
  <li>
  <p align="left"><i>.classpath</i> file:&nbsp; Eclipse uses this file as the 
  layout of the project.&nbsp; </li>
  <li>
  <p align="left"><i>.project</i> file: This file is needed for every Eclipse 
  project.</li>
  <li>
  <p align="left"><i>*.build.xml</i> files: These are the Ant tasks.&nbsp; Read 
  the description inside each of these file for more information.</li>
  <li>
  <p align="left">C<i>lassAvailability.launch</i> file: Used by GWT to run the 
  project in the Hosted Mode.</li>
  <li>
  <p align="left"><i>ClassAvailability-compile.cmd</i>:&nbsp; Used by GWT to 
  compile Java source codes in the src/edu/hawaii/client/ClassAvailability into 
  Javascript.</li>
  <li>
  <p align="left"><i>ClassAvailability-shell.cmd</i>: Used by GWT to run the 
  project in the Hosted Mode.</li>
  <li>
  <p align="left"><i>Readme.html</i> file: It is this file.</li>
  <li>
  <p align="left"><i>doc</i> directory: Contains documentation for the project.</li>
  <li>
  <p align="left"><i>lib: </i>Contains all the libraries need for the project.</li>
  <li>
  <p align="left"><i>src </i>directory: Contains the Java source codes of the 
  projects.&nbsp; Files in this directory are organized into 3 subdirectories.<ul>
    <li>
  <p align="left">&nbsp;<i>edu/hawaii/client/</i> directory: This is client side 
  codes.&nbsp; All the Java codes in this directory will be compiled into 
  Javascript by GWT.</li>
    <li>
  <p align="left"><i>edu/hawaii/server/</i> directory: This is server side 
  codes.&nbsp; All the Java codes in this directory will not be compiled into 
  Javasript by GWT.&nbsp; Instead, these files will be compiled into standard 
  *.class files and act as a servlet of the project.</li>
    <li>
  <p align="left">edu/hawaii/public directory: Contains *.html and *.css files 
  to be read be the web browser.</li>
    <li>
  <p align="left"><i>ClassAvailability.gwt.xml</i> file: GWT uses this file as a 
  mapping file.</li>
  </ul>
  </li>
  <li>
  <p align="left"><i>webapp/WEB-INF/web.xml</i> file: This file is needed to 
  deploy this project into a web application.</li>
</ul>
  <p align="left">Above are the files and directories that you see when you 
  first unzip the zip file you downloaded.&nbsp; After you compile and run the 
  project in the&nbsp; Hosted Mode, you will see some more files and 
  directories:<ul>
  <li>
  <p align="left"><i>binary </i>directory: Created by Eclipse when you build the 
  project.&nbsp; All of the <i>*.class</i> files are saved here. </li>
  <li>
  <p align="left"><i>bin</i> directory: Created by GWT when you run the project 
  in the Hosted Mode. It saves all of the <i>*.class</i> files compiled by GWT.</li>
  <li>
  <p align="left"><i>build</i> directory: Created by Ant when you run any of the 
  Ant tasks.&nbsp; </li>
  <li>
  <p align="left"><i>test</i> directory: Created by GWT for Junit test.</li>
  <li>
  <p align="left"><i>tomcat</i> directory: Created by GWT when you run the 
  project in Hosted Mode.&nbsp; It contains files that simulate a Tomcat web 
  server.</li>
  <li>
  <p align="left"><i>www</i> directory: Created by GWT when it compiles the Java 
  code into Javascript.&nbsp; It contains *.xml, *.html, *.css, *.js files 
  created by GWT.&nbsp; If you deploy the project into a web application and run 
  it on a web server, all of the files in this directory must be moved to the 
  web server and have public-access permission.</li>
</ul>
  <p align="left"><b><font size="4">3.&nbsp; Environment Variables Configuration</font></b><p align="left">
To make it easier to run the project on different computers, we make use of 
environment variables.&nbsp; Developers have the freedom to install development 
tools required by the project anywhere they want as long as they have the 
environment variables point to where the install the tools.<ul>
  <li><p align="left">GWT_HOME points to the directory where you installed the 
  GWT </li>
  <li><p align="left">CHECKSTYLE_HOME points to the directory where you 
  installed Checkstyle</li>
  <li><p align="left">FINDBUGS_HOME points to the directory where you installed 
  Findbugs</li>
  <li><p align="left">PMD_HOME points to the directory where you installed Pmd</li>
  <li><p align="left">SCLC_HOME points to the directory where you installed Sclc</li>
  <li><p align="left">CATALINA_HOME points to the directory where you installed 
  Apache Tomcat server</li>
  <li><p align="left">JAVA_HOME points to the directory where you installed Java 
  6 </li>
</ul>
<p align="left"><b><font size="4">4.&nbsp; Importing the Project into Eclipse</font></b><ol>
  <li><p align="left">Run <i>Eclipse</i>.</li>
  <li><p align="left">Click on <i>File</i>, then choose <i>Import.</i></li>
  <li><p align="left">In the <i>Import</i> windows, choose <i>Existing Projects 
  into Workspace</i>, then click <i>Next.</i></li>
  <li><p align="left">In the new <i>Import </i>windows, in the <i>Select root 
  directory</i> section, click <i>Browse</i> to choose where you saved the 
  project. Then click <i>Finish.</i></li>
</ol>
<p align="left"><b><font size="4">5.&nbsp; Building and Running the Project</font></b><p align="left">
There are 2 ways to build and run the project, one is using Ant build files and 
the other one is using Eclipse.<p align="left">&nbsp;&nbsp;&nbsp; <b>A.&nbsp; 
Using Eclipse</b><ol>
  <li><p align="left">To run the project in the Hosted Mode, simple click the 
  run button in the Eclipse tool bar.</li>
</ol>
<blockquote>
  <p align="left">Some people encounter problems with the classpath when running 
  the project.&nbsp; Somehow the GWT_HOME is not automatically recognized by 
  Eclipse.&nbsp; If this happens to you, follow these steps.<p align="left">1.&nbsp; 
  Right click on the project, click <i>Run As</i>, then click on <i>Run</i><p align="left">
  <img border="0" src="doc/GWT_1.JPG" width="1024" height="768"><p align="left">&nbsp;<p align="left">
  2.&nbsp; Click on the <i>ClassAvailability</i> under Java Application on the 
  left panel. Then on the right panel click on <i>Classpath </i>tab.<p align="left">
  Under the <i>ClassAvailabity (default classpath)</i>, if you don't see <i>
  GWT_HOME/gwt-dev-windows.jar</i> like what you see in the figure below, then 
  add one like this by click on the <i>Add External JARs</i><p align="left">Then 
  click Run on the lower-right corner of the windows.&nbsp; You should be able 
  to run the project in Host Mode now.&nbsp; If you still can't run the project, 
  post a message in our discussion mailing list, we will help you to solve this 
  problem.<p align="left">
  <a href="http://groups.google.com/group/classavailability-discussion-group">
  http://groups.google.com/group/classavailability-discussion-group</a><p align="left">
  <img border="0" src="doc/GWT_2.JPG" width="1024" height="768"></blockquote>
<p align="left">&nbsp;&nbsp;&nbsp; 2.&nbsp; To compile the project into 
Javascript, click on the file <i>ClassAvailability-compile.cmd</i><p align="left">&nbsp;&nbsp;&nbsp;
<b>B.&nbsp; Using Ant </b>
<blockquote>
  <ol>
    <li><p align="left">Open the command-prompt, change to the directory where 
    you saved the project.</li>
    <li><p align="left">Type: <i>ant -f verify.build.xml</i> to build the 
    project.</li>
    <li><p align="left">Type: <i>ant -f dist.build.xml </i>to create the WAR 
    file and the directory the contains the source code for distribution.&nbsp; 
    The WAR file and the distribution directory are then saved in the <i>build
    </i>directory under the root directory of the project.&nbsp; You only need 
    to WAR file to deploy the project into a web application.&nbsp; </li>
    <li><p align="left">You can deploy the project into a web application within 
    Tomcat Manager.&nbsp; To learn how to deploy, you should go to the Apache 
    Tomcat website.</li>
  </ol>
  <p align="left">&nbsp;</blockquote>
<p align="left">Contact:&nbsp; Kiet Huynh at kiet@hawaii.edu<p align="left">&nbsp;<p align="left">&nbsp;<p align="left">&nbsp;<p align="left">&nbsp;<p align="left">&nbsp;<p align="left">&nbsp;
</body>

</html>